home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 5 / BOOZ_MAC / BOOZ_2 / BOOZ.DOC < prev    next >
Text File  |  1992-07-19  |  4KB  |  96 lines

  1.                       Booz 2.0 -- Barebones Ooz
  2.                                   a
  3.                          Zoo Extractor/Lister
  4.                                   by
  5.                              Rahul Dhesi
  6.  
  7. Booz 2.0 is a small, memory-efficient, public domain Zoo archive
  8. extractor/lister. It is not fancy.  It does not recognize the advanced
  9. features available in current versions of Zoo, such as long filenames,
  10. directory names, comments, and multiple file generations.  Extraction
  11. always uses a short MS-DOS format filename and all extracted files go
  12. into the current directory.
  13.  
  14. But Booz 2.0 is simple and portable and can be implemented in about
  15. fifteen minutes on any system with a reasonably good C compiler that
  16. provides very basic string and input/output functions.  And it will
  17. extract all archives created by all versions of zoo including version
  18. 2.1, which uses a newer compression method.
  19.  
  20.  
  21.                          COMPILING BOOZ 1.02
  22.  
  23. 1.
  24. Make sure that the two macros OPEN and CREATE are correctly defined
  25. for your system in the file `booz.h'.  Some sample macros are provided. 
  26. The macros must be defined to open files in binary mode (i.e.,
  27. without newline conversions).
  28.  
  29. The macro OPEN is supplied a filename and it must open the file for
  30. reading and return an open file pointer, or NULL if the open fails. 
  31. It is used to open the archive being extracted or listed, and to test
  32. the existence of a file about to be extracted.
  33.  
  34. The macro CREATE is supplied a filename and it must create a new file
  35. for writing and return an open file pointer, or NULL if the create
  36. fails.  It is used for creating each file that is extracted.
  37.  
  38. 2.
  39. Make sure that a symbol T_UINT16 is defined in `booz.h' that is an 
  40. unsigned data type whose size is exactly 16 bits.  In most cases this
  41. will be "unsigned short".
  42.  
  43. 3.
  44. If your C library does not provide the unlink() function (which
  45. deletes a file given its name), define an empty function by that
  46. name, or define a suitable macro by that name in file `booz.h.h'.
  47.  
  48. 4.
  49. Compile and link all the C files.  A **IX-compatible makefile is
  50. supplied.
  51.  
  52.                           MACHINE DEPENDENCE
  53.  
  54. Booz is relatively independent of machine architecture, except that
  55. (a) the machine must be a 2's complement machine (all modern machines
  56. are) and (b) `char' must be exactly 8 bits, `int' must be 16 bits or
  57. larger, and `long' must be 32 bits or larger, and there must be some
  58. unsigned data type (e.g. "unsigned short") holding exactly 16 bits.
  59.  
  60. Booz makes no assumptions about the filename syntax of the host
  61. machine, except that it assumes that a dot "." is used to separate
  62. the extension "zoo" from the rest of the name of the archive.  It
  63. will append ".zoo" to the archive name if it contains no dot.  (This
  64. fails if an archive name of the type "../junk" is specified.)
  65.  
  66. If your system uses a different filename syntax, you may need to
  67. change the code.  Also, if your system cannot accept some of the
  68. characters legal in MS-DOS filenames, you may need to add a function
  69. that will fix the filename before extraction.  A sample function
  70. `fixfname()' is included in the file `oozext.c'.  It becomes activated
  71. only if the preprocessor symbol FIXFNAME is defined.
  72.  
  73. This program does not attempt to be case-insensitive.  Therefore you
  74. will need to type names of files to be extracted in the correct
  75. case.
  76.  
  77.                REVISION HISTORY
  78.  
  79. Version 1.00
  80.      Corresponded to just the Tiny booz 1.02
  81.  
  82. Version 1.01
  83.      Included TINY, SMALL, BIG compilation options.  Had a bug in
  84.      function needed() that sometimes cause file extraction to fail.
  85.  
  86. Version 1.02
  87.      Fixed bug in function needed().  Added support for Turbo C 1.0.
  88.      Revised this documentation and some comments in the source code.
  89.  
  90. Version 2.00
  91.      Revised to extract archives crated with zoo 2.1.  Deleted TINY,
  92.      SMALL, and BIG options;  it's all BIG now.  Deleted low-level
  93.      I/O (read/write) and replaced it with stdio (fread/fwrite).
  94.  
  95.                                 -- Rahul Dhesi 1991/07/08
  96.